In order to provide support services for computing systems, ideally one would like to have a trace record of all of the activities which have occurred at a node or machine. For personal computers operating in standalone fashion, such tracking or recording of actions may be realistic. Some computer code does provide for the continual logging and tracing of all activities, typically using a log component as well as a tracer. Should an error occur and an error message be generated, then there exists a complete record of activities which can be pulled up by a debug program and can be reviewed to determine the source of the problem. If such a logging and/or tracing record exists, it eliminates the need for a customer to recreate the problem, a process which is unpredictable and time-consuming. The log records provide both a time frame and a task or entity identification of the source of the error. Again, when dealing with one computer operating in standalone mode, it can readily be ascertained whether the problem arose from user error (e.g., a misspelling on the input) or from a bug in a part of the code, and the problem can be addressed.
The trade-off for providing thorough logging and tracing of actions is, of course, a decrease in performance of the overall system, since resources are being dedicated to the tracking tasks and are not, therefore, available for actual execution of tasks. Furthermore, once the computing system goes beyond standalone operation and begins interacting with other entities (not only computers, but also computer peripherals, PDAs, etc.) then the tracking becomes more complex and the potential sources of error multiply almost exponentially. When one envisions servicing a large-scale distributed computing system, having thousands of nodes, or endpoints, the desirability of tracking is far outweighed by the complexity of the tracking and by the performance losses associated with trying to log and trace every action.
A detailed discussion of distributed network services can be found in copending patent application, Ser. No. 09/738,307 filed Dec. 15, 2000, now U.S. Pat. No. 6,950,874 entitled “METHOD AND SYSTEM FOR MANAGEMENT OF RESOURCE LEASES IN AN APPLICATION FRAMEWORK SYSTEM”, the teachings of which are herein incorporated by reference. In addition, the specifics of the logging capabilities of a server in a distributed computing system can be found in co-pending patent application Ser. No. 09/895,979, filed Jun. 29, 2001, now U.S. Pat. No. 7,039,921 entitled “Methods and Apparatus in a Logging System for the Tracking of Tasks Based on Function for Data Analysis, the teachings of which are also incorporated by reference herein (AUS920010501)
What is desirable, and is an object of the present invention, is to provide a system and method whereby the logging and tracing of computing activities in a distributed computing system can be selectively enabled and/or adjusted.
It is another object of the present invention to provide a system and method whereby the frequency of logging of computing activities can be dynamically adjusted in response to user or system input.
Yet another object of the invention is to provide a multiple level logging system for which both the frequency and the degree of logging can be adjusted.
Still another object of the invention is to provide dynamic and configurable filtering of log information based on user or system input.